-
-
Notifications
You must be signed in to change notification settings - Fork 3
Use Arduino Lint to validate releases #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Looks good, I'll wait for it to be updated with the new version of Arduino Lint to approve it. |
Something I should mention in case it isn't clear from the code is that part of this proposal is to add the entire text formatted Arduino Lint report to the library's logs web page when linting a release results in an error or warning. So the current logs for Servo look like this:
After, will look like this (abnormally long because this is from a local run from scratch, so validating every release, rather than the subsequent logs which would only validate releases not in the index already):
|
Since the output is very long I think we should put it in a collapsible section like so: Arduino Lint output, click to expand.
|
Arduino Lint allows library maintainers to use the same tool locally and in CI as will be used to validate the library submission and its releases. This provides transparency for the whole process and should reduce the Library Manager index support burden.
This functionality is now provided by Arduino Lint.
The Arduino Lint report is shown in the logs whenever a warning or error is encountered while validating a release before adding it to the index. The report is fairly verbose. Putting it in a "details" section allow the reader to get the quick overview of the indexing results that was provided by the previous log format, while also offering the option to get details about the results of the validation.
Good idea! I have done it: db141b3 The equivalent to the log above is now: JOB 000 - 2021/05/13 12:00:39 Scraping https://github.com/arduino-libraries/Servo.git JOB 000 - 2021/05/13 12:00:39 Checking out tag: refs/tags/1.0.0 JOB 000 - 2021/05/13 12:00:41 Arduino Lint has suggestions for possible improvements: |
Nice. Is it normal tests are failing? 🤔 |
Yes. The problem is that this change is dependent on arduino/arduino-lint#170, but the test workflow installs the release version of Arduino Lint so they don't have access to that new It sounds like we will be able to do a release of Arduino Lint tomorrow. |
@silvanocerza now that the 1.1.0 release of Arduino Lint is out, I reran the "Test Go" workflow and it is passing: |
Arduino Lint allows library maintainers to use the same tool locally and in CI as will be used to validate the library
submission and its releases. This provides transparency for the whole process and should reduce the Library Manager index
support burden.
Note: This change depends on the addition of a new "indexing" configuration mode to Arduino Lint, which is provided by arduino/arduino-lint#170
So the tests will fail until there has been a release of Arduino Lint. I thought it could be helpful to submit this PR now in order to give the reviewers of arduino/arduino-lint#170 the full picture.